<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <script src="jquery-3.1.1.js"></script>
    <meta name="author" content="ykf">
    <title>自动轮播图</title>
    <style>
        ul,li{
            margin: 0;
            padding: 0;
            u1-style: none;
        }
        #box{
            width: 520px;
            height: 280px;
            margin: 100px auto;
            position: relative;
        }
        #box .u1 li{
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }
        #box .u1 li.active{
            display: block;
        }
        #box .u2{
            position: absolute;
            right: 10px;
            bottom: 10px;
        }
        #box .u2 li{
            float: left;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background-color: #f60;
            text-align: center;
            line-height: 20px;
            margin-left: 10px;
            color: white;
            opacity: 0.8;
            cursor: pointer;
        }
        #box .u2 li.active{
            background-color: #f60;
            opacity: 1;
        }
    </style>
</head>
<body>
    <div id="box">
        <ul class="u1">
            <li class="active"><img src="img/01.jpg" alt=""></li>
            <li><img src="img/02.jpg" alt=""></li>
            <li><img src="img/03.jpg" alt=""></li>
            <li><img src="img/04.jpg" alt=""></li>
            <li><img src="img/05.jpg" alt=""></li>
        </ul>
        <ul class="u2">
            <li class="active">1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    </div>
</body>
</html>
<script>
    $(document).ready(function(){
        var u1=$(".u1"),  //获取最外层框架的名称
        ul=u1.find("ul"),  
        showNumber=u1.find(".u2 span"),//获取按钮
        oneWidth=u1.find("ul li").eq(0).width(); //获取每个图片的宽度
        var timer=null; //定时器返回值，主要用于关闭定时器
        var iNow=0;  //iNow为正在展示的图片索引值，当用户打开网页时首先显示第一张图，即索引值为0
        showNumber.on("click",function(){   //为每个按钮绑定一个点击事件  
            $(this).addClass("active").siblings().removeClass("active"); //按钮点击时为这个按钮添加高亮状态，并且将其他按钮高亮状态去掉
            var index=$(this).index(); //获取哪个按钮被点击，也就是找到被点击按钮的索引值
            ul.animate({
                "left":-oneWidth*iNow, //注意此处用到left属性，所以ul的样式里面需要设置position: relative; 让ul左移N个图片大小的宽度，N根据被点击的按钮索引值index确定
            })
        });
        
        timer=setInterval(function(){  //打开定时器
            iNow++;       //让图片的索引值次序加1，这样就可以实现顺序轮播图片
            if(iNow>showNumber.length-1){ //当到达最后一张图的时候，让iNow赋值为第一张图的索引值，轮播效果跳转到第一张图重新开始
                iNow=0;
            }
        showNumber.eq(iNow).trigger("click"); //模拟触发数字按钮的click
        },2000); //2000为轮播的时间
    })
</script>